#ifndef SSignal_H
#define SSignal_H
#include "Global_Signal.h"
#include "abstractSignal.h"

template <class T>
class sSignal1 : public AbstractSignal
{
        public :

        /*************************************************************/
        /*					Propriétés	     */
        /*************************************************************/

        T arg1;

        /*************************************************************/
        /*					Constructeur         */
        /*************************************************************/

        sSignal1(int (*apSignal)(T), T arg);

        /*************************************************************/
        /*					Méthodes	  */
        /*************************************************************/

        void Update();


};

template <class T>
sSignal1<T>::sSignal1(int (*apSignal)(T), T arg) : pSignal(apSignal),arg1(arg){}

template <class T>
void sSignal1<T>::Update()
{
        if((*pSignal)(arg1))
        {
                Run();
        }
}


#endif // SSignal_H
